# 作者：一只牛吗
# 2025 年01月 18日 03时 41分 40秒
# 1278599690@qq.com

def use_arithmetic():
    """
    学习算数运算符
    :return:
    """
    a = 5 / 2
    print(a)
    print(type(a))


use_arithmetic()

print(True + 1)

print(3 and 5)
print(0 or 0)
print(3 or 5)
# and遇假则假，若全真则返回后一个
# or遇真则真，若全真则返回前一个

# 短路运算:短路运算的目的是不想写if
3 and print('hello')
print('-' * 50)
# 位运算：& | ~ << >> ^,分别是按位与、按位或、按位取反、左移、右移、异或
# python中左移永远是乘2的次幂，右移和c语言一样，正数高位补0，负数高位补1
# python中没有无符号整型，因为它可以表示无穷大，不需要这种东西
# 移位运算只能用于整数，不能用于浮点数
print(5 >> 1)
print(-6 >> 1)  # 减1除2
#帮我写个快排
def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    else:
        pivot = arr[0]
        left = []
        right = []
        for i in range(1, len(arr)):
            if arr[i] < pivot:
                left.append(arr[i])
            else:
                right.append(arr[i])
        return quick_sort(left) + [pivot] + quick_sort(right)
arr = [3, 7, 1, 9, 2, 5]
print(quick_sort(arr))   # [1, 2, 3, 5, 7, 9]